Comparing Java Arrays using equals and deepEquals
Joe • March 9, 2019
Arrays can be compared using the java.util.Arrays.equals(….)
and java.util.Arrays .deepEquals(a1,a2)
method.
Arrays.equals()
- Returns
true
if the two specified arrays of Objects are equal to one another. The two arrays are considered equal if they contain the same elements in the same order. Also, two array references are considered equal if both arenull
. -
Comparing one-dimensional Arrays only.
Arrays.deepEquals()
- Returns
true
if the two specified arrays are deeply equal to one another. Two array references are considered deeply equal if both arenull
, or if they refer to arrays that contain the same number of elements and all corresponding pairs of elements in the two arrays are deeply equal. - Used in comparing nested arrays of arbitrary depth or multi-dimensional Arrays.
Example
public static void main(String[] args) {
String[] arr1 = {"1", "2"};
String[] arr2 = {"1", "2"};
String[][] arr3 = {{"1", "2"}, {"3", "4"}};
String[][] arr4 = {{"1", "2"}, {"3", "4"}};
String[][] arr5 = {{"3", "4"}, {"1", "2"}};
System.out.println(Arrays.equals(arr1, arr2)); //prints: true
System.out.println(Arrays.equals(arr3, arr4)); //prints: false
System.out.println(Arrays.deepEquals(arr1, arr2)); //prints: true
System.out.println(Arrays.deepEquals(arr3, arr4)); //prints: true
System.out.println(Arrays.deepEquals(arr3, arr5)); //prints: false
}